package com.example.auth.mapper;


import com.example.auth.entity.SysMenu;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SysMenuMapper {

    /**
     * 插入
     *
     * @param sysMenu 系统菜单
     * @return 影响行数
     */
    int insert(SysMenu sysMenu);

    /**
     * 根据主键删除
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 根据主键更新
     */
    int updateByPrimaryKey(SysMenu sysMenu);

    /**
     * 根据主键查询
     *
     * @param id 主键
     * @return 系统菜单
     */
    SysMenu selectByPrimaryKey(Long id);

    /**
     * 查询所有
     *
     * @param sysMenu 系统菜单
     * @return 系统菜单列表
     */
    List<SysMenu> selectList(SysMenu sysMenu);

    /**
     * 根据用户ID查询菜单列表
     *
     * @param sysUserId 用户ID
     * @return 菜单列表
     */
    List<SysMenu> selectMenuListBySysUserId(Long sysUserId);

    /**
     * 根据父级ID查询菜单列表
     *
     * @param asList 父级ID列表
     * @return 菜单列表
     */
    List<SysMenu> selectParent(List<Long> asList);
}
